﻿#pragma once

#ifdef ER_PLATFORM_WINDOWS
	#ifdef ER_BUILD_DLL
		#define EMPYREAN_API __declspec(dllexport)
	#else
		#define EMPYREAN_API __declspec(dllimport)
	#endif
#else
	#error "empyrean only supports windows platform!"
#endif

#ifdef EMPYREAN_ENABLE_ASSERTS
	#define EM_ASSERT(x, ...){if(!(x)) { LOG_EMP_ERROR(“Assertion Failed: {0}”, __VA_ARGS__);__debugbreak(); }}
	#define EM_CORE_ASSERT(x, ...) {if(!(x)) { LOG_EMP_CORE_ERROR(“Assertion Failed: {0}”, __VA_ARGS__);__debugbreak(); }}
#else
	#define EM_ASSERT(x, ...)
	#define EM_CORE_ASSERT(x, ...)


#endif // !



#define BIT(x) (1 << x)